1. Field of the Invention
The present invention relates to client computers that are bootable over a network and, in particular, client computers that may be serviced by multiple boot servers. More specifically, the present invention relates to a method for generating a list of operating systems to be made available to a target device that is remotely booted.
2. Description of the Related Art
Some current computing devices include support for pre-boot extensions to download an operating system (OS) from a network to which they are attached. Such target computing devices include computer motherboards, network adapters and boot diskettes. These devices rely on extensions to the bootstrap protocol (BOOTP) and to the dynamic host configuration protocol (DHCP). Such extensions are often termed the preboot execution environment (PXE) and require a DHCP/PXE server and a boot image negotiation layer (BINL) server.
BOOTP is a transmission control protocol/Internet protocol (TCP/IP) used by a diskless workstation, network computer (NC) or other target device to obtain its IP address and other network information, such as server address and default gateway. Upon startup, the target device sends out a BOOTP request to the BOOTP server, which returns the required information. The BOOTP request and response use an IP broadcast function, which is able to send messages before a specific IP address for a target device is known.
DHCP is software that automatically assigns an IP address to a target device logging onto a TCP/IP network. DHCP eliminates the need for manually assigning permanent IP addresses.
PXE enables a client network computer or other target device that lacks a native operating system to locate and acquire a small network bootstrap program (NBP) from a BINL server. The target device may acquire this NBP from a BINL server through a network attachment. PXE also provides a means for running the NPB on the target device. This allows the target device to continue acquiring additional software from the network that may be required to make the target device capable of performing the more complex and useful tasks assigned to it by an enterprise.
PXE relies on extensions of DHCP as the means by which the target device locates a BINL server from which to acquire an NPB. A facilitating property of DHCP is that the target device does not need the address of any other computer. The target device performs a DHCP broadcast to discover any PXE proxy server that can recognize that the target device is PXE-capable. The DHCP proxy server sends a DHCP offer to the target device. The offer contains the address of the BINL server from which the target device may obtain a NBP. The target device then obtains the NBP and all necessary software from the boot server via a trivial file transfer protocol (TFTP).
Current approaches to selecting the operating system to boot on a target device depend on the BINL server, which is delivered by multiple vendors, such as Intel™, IBM™ and Microsoft™. Each platform has different implementations and behaviors. Once the operating system is booted on a target device, a user can login and use the current operating system.
However, there is no way for the user to determine if other operating systems are available for the device or what other operating systems may be used with the device. Additionally, the list of available operating systems for a target device is currently a static list accessed via TFTP configuration files or via a boot sector on the hard disk. There is no way to generate a list of available operating systems that considers such factors as the operating systems available from a server connected to the target device, the operating systems preferred by the server or network to which the target device is connected, other operating systems compatible with the hardware of the target device or operating systems available for a target device in a given location.
It would be desirable therefore to provide a method of selecting an operating system that overcomes the above.